'use strict';

const Service = require('egg').Service;
const SysOperationLogsModel = require('../../model/SysOperationLogsModel');
const sysOperationLogsModel = new SysOperationLogsModel();
/**
 * 创建者: rliang
 * 创建时间: 2019年09月02日 09:35:29
 * 功能描述: 操作日志处理
 */
class SysOperationLogsService extends Service {

  /**
   * 插入操作日志，方便查询。
   * @param {string} functionName 操作功能  功能名称
   * @param {string} type 操作类型 如：增加 删除 修改 查询
   * @param {string} des 操作说明 
   */
  async insertSysOperationLogs(functionName, type, des) {
    // 创建操作日志实体对象
    const sysOperationLogs = new sysOperationLogsModel.entity();
    sysOperationLogs.operatorId = this.ctx.curAdminUser.id; // 操作这ID
    sysOperationLogs.operatorName = this.ctx.curAdminUser.realName; // 操作这姓名
    sysOperationLogs.time = this.ctx.getDate_YYYYMMDDHHmmss(); // 操作时间

    sysOperationLogs.functionName = functionName; // 操作功能
    sysOperationLogs.type = type; // 操作类型 增加 删除 修改 查询
    sysOperationLogs.des = des; // 操作说明  操作说明
    // 插入操作日志
    const result = await sysOperationLogsModel.insert(this.app, sysOperationLogs);
    this.logger.debug('插入日志操作完成：', result);
  }

  /**
  * 查询日志操作
  */
  async findSysOperationLogs(options){
    return await sysOperationLogsModel.findSysOperationLogs(this.app, options);
  }

}

module.exports = SysOperationLogsService;
